--  1. Простой DELETE
DELETE FROM users WHERE id = 1;
-- Этот запрос удаляет строку из таблицы `users`, где id равно 1.

-- ------------------------------------------------------------------

--  2. DELETE с использованием условия
DELETE FROM users WHERE last_login < '2023-01-01';
-- Этот запрос удаляет всех пользователей, у которых последний вход был до 1 января 2023 года.

-- ------------------------------------------------------------------

--  3. DELETE всех строк
DELETE FROM users;
-- Этот запрос удаляет все строки из таблицы `users`, но структура таблицы остается.

-- ------------------------------------------------------------------

--  4. DELETE с использованием подзапроса
DELETE FROM users WHERE id IN (SELECT user_id FROM orders WHERE amount > 100);
-- Этот запрос удаляет пользователей, у которых есть заказы на сумму больше 100.

-- ------------------------------------------------------------------

--  5. DELETE с использованием JOIN
DELETE u
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.amount > 100;
-- Этот запрос удаляет пользователей из таблицы `users`, у которых есть заказы на сумму больше 100, используя объединение с таблицей `orders`.

-- ------------------------------------------------------------------

--  6. DELETE с использованием LIMIT
DELETE FROM users WHERE status = 'inactive' LIMIT 10;
-- Этот запрос удаляет первых 10 пользователей со статусом 'inactive'.

-- ------------------------------------------------------------------

--  7. DELETE с использованием ORDER BY
DELETE FROM users WHERE status = 'inactive' ORDER BY last_login ASC LIMIT 5;
-- Этот запрос удаляет первых 5 пользователей со статусом 'inactive', сортируя по дате последнего входа в систему в порядке возрастания.

-- ------------------------------------------------------------------

--  8. DELETE с использованием TRUNCATE
TRUNCATE TABLE users;
-- Этот запрос удаляет все строки из таблицы `users` и освобождает пространство, занимаемое таблицей. В отличие от `DELETE`, это также сбрасывает значения автоинкрементных столбцов.

-- ------------------------------------------------------------------

--  9. DELETE с использованием сложного условия
DELETE FROM users WHERE status = 'inactive' AND last_login < '2023-01-01';
-- Этот запрос удаляет пользователей со статусом 'inactive', которые не входили в систему с 1 января 2023 года.

-- ------------------------------------------------------------------

-- 10. DELETE с использованием EXISTS
DELETE FROM users WHERE EXISTS (SELECT 1 FROM orders WHERE users.id = orders.user_id AND orders.amount > 100);
-- Этот запрос удаляет пользователей, у которых есть заказы на сумму больше 100, используя подзапрос с `EXISTS`.
